Subject: Re: STUN Operation in the Cisco Router

From: [email-masked]
Date: Tue, 13 Jul 93 18:09:15 -0400

Wayne -

I have a few comments on the SDLC PU2.1-PU2.1 protocol sequences you show for
STUN, based on some experience with PU2-PU4 which I believe may be relevant.
In general, I believe it is better to hold u-frame responses that are destined
for the primary until there is a retransmission of the u-frame command since
the timing may not be right to forward them as they come in from the network.
This would particularly be true with the UA responses to the SNRM and the DISC
(the UA response to the DISC may need to be sent immediately in some cases due
to NCP implementation peculiarities); I'm not sure how it applies to XIDs in
cases where the primary and secondary roles have not been established yet.
Also, if PU2.1 devices that are predefined as primaries or secondaries are
multidropped with other PU2.1 or PU2 devices (it seems that this is possible,
but is not clear how much it occurs in the real world), then forwarding a
u-frame response when there is a poll (u-frame or s-frame) outstanding to
another PU would be a serious violation of the SDLC protocol.

This leads to the following proposed change in the sequence/response diagrams
(the XID sequence assumes that the originator is predefined to operate as a
primary only):

                        .
                        .
                        .
  XID                        OP_PASS                    XID
  --------->                 --------->                 ---------->
             Await XID
              Response
   (note 1)

                               OP_PASS                    XID
                             <---------                 <------------
             XID Response
               Pending
  XID
  --------->
    XID
  <---------

                        .
                        .
                        .
  SNRM                       OP_LINKUP_REQ              SNRM
  --------->                 -------------->            ------------->
  (notes 3 & 4) Await Linkup                Await SDLC
                  Response                     Open

                               OP_LINKUP_RSP              UA
                             <--------------            <------------
              Linkup Response                Active
                Pending
  SNRM
  --------->
    UA
  <--------
               Active

                       .
                       .
                       .

  XID                        OP_PASS                    XID             
  --------->                 ------------->             ------------->
              Await XID
               Response
                               OP_PASS                    XID
                             <-------------             <-------------
              XID Response      (note 1)
                Pending
  XID
  --------->
    XID
  <---------

                        .
                        .
                        .

  DISC                       OP_LINKDOWN_REQ            DISC
  ---------->                ---------------->          ------------->
    UA                                        Await Linkdown
  <---------                                       UA
             Await Linkdown
               Response
                               OP_LINKDOWN_RSP            UA/DM
                             <----------------          <-------------
             Disconnected                     Disconnected

                         .
                         .
                         .
  DISC                       OP_LINKDOWN_REQ            DISC
  --------->                 ---------------->          ---------->
    UA                                        Await Linkdown
  <--------                                        UA
            Await Linkdown
              Response
                               OP_LINKDOWN_RSP            UA/DM
                             <-----------------         <----------
            Disconnected                       Disconnected

Norm Rehn

---

From: [email-masked]
Date: Wed, 14 Jul 93 08:47:42 PDT

Norm -

    I've included my comments below.

Thanks,
Wayne

>another PU would be a serious violation of the SDLC protocol.

Wayne's Reply:

    Actually, we do hold off presenting u-frames to the link stations
    until SDLC is in a state to accept them.  The state machine for
    SDLC is decoupled from the state machine for STUN.  I just didn't
    want to complicate the diagrams.  Also, the SDLC state machine is
    maintained per link station address so the multidrop case you've
    mentioned above is taken care of in STUN.

    Responding immediately to a DISC with a UA as you've shown below
    would probably not get you in trouble.  It's the start-up sequence
    with SNRM/UA that benefits from the end-to-end exchange and you've
    preserved that.

    We have seen some oscillatory behaviour during XID3 negotiation
    when the network delay is slightly greater than the XID3 retry
    timer but the links have *always* come up.